7e829f1887535605eba6d8cfc84bdf6d908ec07e,devicehive-frontend/src/main/java/com/devicehive/websockets/handlers/CommandHandlers.java,CommandHandlers,processCommandInsert,#JsonObject#WebSocketSession#,136
Before Change
if (deviceGuid == null) {
device = principal.getDevice();
} else {
device = deviceService.findByGuidWithPermissionsCheck(deviceGuid, principal);
}
if (device == null) {
throw new HiveException(String.format(Messages.DEVICE_NOT_FOUND, deviceGuid), SC_NOT_FOUND);
}
if (deviceCommand == null) {
After Change
logger.debug("command/insert action for {}, Session ", deviceGuid, session.getId());
Set<DeviceVO> devices = new HashSet<>();
if (deviceGuid == null) {
devices = principal.getDevices();
} else {
devices.add(deviceService.findByGuidWithPermissionsCheck(deviceGuid, principal));
}
if (devices.isEmpty()) {
throw new HiveException(String.format(Messages.DEVICE_NOT_FOUND, deviceGuid), SC_NOT_FOUND);
}
if (deviceCommand == null) {
throw new HiveException(Messages.EMPTY_COMMAND, SC_BAD_REQUEST);
}
final UserVO user = principal.getUser();
WebSocketResponse response = new WebSocketResponse();
for (DeviceVO device : devices) {
commandService.insert(deviceCommand, device, user)
.thenApply(cmd -> {
commandUpdateSubscribeAction(cmd.getId(), device.getGuid(), session);